<template>
  <view class="container">
    <button type="primary" plain @click="handleLike">微信收藏</button>
  </view>
</template>

<script>
export default {
  data() {
    return {
      likeData: {
        title: '收藏标题', // 收藏的标题
        desc: '收藏描述', // 收藏的描述
        imageUrl: '/static/like.png', // 收藏的图片，建议尺寸500x400，大小不超过128KB
        path: '/pages/home/home', // 收藏后点击跳转的页面路径，支持携带参数
        success: function (res) {
          console.log('收藏成功', res)
        },
        fail: function (res) {
          console.log('收藏失败', res)
        }
      }
    }
  },
  methods: {
    // 处理收藏
    handleLike() {
      // #ifdef MP-WEIXIN
      uni.showActionSheet({
        itemList: ['收藏到微信', '取消收藏'],
        success: res => {
          switch (res.tapIndex) {
            case 0:
              // 收藏到微信
              uni.share({
                provider: 'weixin',
                scene: 'WXSceneFavorite', // 分享场景：WXSceneFavorite-收藏到微信
                type: 0,
                title: this.likeData.title,
                summary: this.likeData.desc,
                imageUrl: this.likeData.imageUrl,
                href: this.likeData.path,
                success: res => {
                  console.log('收藏成功', res)
                  uni.showToast({
                    title: '收藏成功',
                    icon: 'success'
                  })
                },
                fail: res => {
                  console.log('收藏失败', res)
                  uni.showToast({
                    title: '收藏失败',
                    icon: 'none'
                  })
                }
              })
              break
            case 1:
              // 取消收藏
              uni.showToast({
                title: '已取消收藏',
                icon: 'none'
              })
              break
          }
        }
      })
      // #endif

      // #ifndef MP-WEIXIN
      uni.showToast({
        title: '请在微信小程序中使用',
        icon: 'none'
      })
      // #endif
    }
  }
}
</script>

<style scoped lang="scss">
.container {
  padding: 30rpx;
}
</style>
